package com.shaozi.nc.data.hibVO;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name = "desk_attendance")
public class AttendanceVO extends NcHibBaseVO {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7398881810230556651L;
	// 0未操作 1正常 2异常 3申诉中 4 申诉过期
	public static final int Status_UnOper = 0;
	public static final int Status_Normal = 1;
	public static final int Status_Abnormal = 2;
	public static final int Status_Complain = 3;
	public static final int Status_Complain_Outtime = 4;
	// 状态类型： 0未操作 1:[1正常打卡 2请假 3外勤 4申诉 5 补卡 ]; 2: [1 时间异常 2 位置异常 4旷工 8旷工半天]
	public static final int StatusType_UnOper = 0;
	public static final int StatusType_Normal = 1;
	public static final int StatusType_Leave = 2;
	public static final int StatusType_Outwork = 3;
	public static final int StatusType_Complain = 4;
	public static final int StatusType_Card = 5;

	public static final int StatusType_TimeAbnormal = 1;
	public static final int StatusType_PlaceAbnormal = 2;
	public static final int StatusType_Absent = 4;
	public static final int StatusType_AbsentHalfDay = 8;

	/**
	 * 0未操作 1正常 2异常 3申诉中 4 申诉过期
	 */
	private Integer status;
	/**
	 * 状态类型： 0未操作 1:[1正常打卡 2请假 3外勤 4申诉 5 补卡 ]; 2: [1 时间异常 2 位置异常 4旷工 8旷工半天]
	 */
	@Column(name = "status_type")
	private Integer statusType;
	private Integer level_id;
	private Integer uid;
	/**
	 * 签到类型 0未知 1签到 2签退
	 */
	private Integer type;
	/**
	 * 系统添加时间，时间统一为当天0时0分，10位时间戳
	 */
	private Long sys_insert_time;
	/**
	 * 允许操作的起始时间
	 */
	@Column(name = "start_handle_time")
	private Long startHandleTime;
	@Column(name = "rule_handle_time")
	private Long ruleHandleTime;
	@Column(name = "json_rule")
	private String jsonRule;
	/**
	 * 是否申诉过期:0正常，1过期
	 */
	@Column(name = "is_appeal_expire")
	private Integer isAppealExpire;
	@Column(name="is_delete")
	private Integer isDelete;

	public AttendanceVO() {

	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getLevel_id() {
		return level_id;
	}

	public void setLevel_id(Integer level_id) {
		this.level_id = level_id;
	}

	public Integer getUid() {
		return uid;
	}

	public void setUid(Integer uid) {
		this.uid = uid;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Long getSys_insert_time() {
		return sys_insert_time;
	}

	public void setSys_insert_time(Long sys_insert_time) {
		this.sys_insert_time = sys_insert_time;
	}

	public Long getStartHandleTime() {
		return startHandleTime;
	}

	public void setStartHandleTime(Long startHandleTime) {
		this.startHandleTime = startHandleTime;
	}

	public String getJsonRule() {
		return jsonRule;
	}

	public void setJsonRule(String jsonRule) {
		this.jsonRule = jsonRule;
	}

	public Long getRuleHandleTime() {
		return ruleHandleTime;
	}

	public void setRuleHandleTime(Long ruleHandleTime) {
		this.ruleHandleTime = ruleHandleTime;
	}

	public Integer getStatusType() {
		return statusType;
	}

	public void setStatusType(Integer statusType) {
		this.statusType = statusType;
	}

	public Integer getIsAppealExpire() {
		return isAppealExpire;
	}

	public void setIsAppealExpire(Integer isAppealExpire) {
		this.isAppealExpire = isAppealExpire;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

}
